<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>对象应用</title>
    <script>

        // 测试 对象应用 
        function testApplyObject(){

            /*
            ECMAScript 拥有无用存储单元收集程序（garbage collection routine），
            意味着不必专门销毁对象来释放内存。当再没有对对象的引用时，称该对象被废除（dereference）了。
            运行无用存储单元收集程序时，所有废除的对象都被销毁。每当函数执行完它的代码，无用存储单元收集程序都会运行，
            释放所有的局部变量，还有在一些其他不可预知的情况下，无用存储单元收集程序也会运行。
            把对象的所有引用都设置为 null，可以强制性地废除对象
            */
            var oObject = new Object();
            oObject = null;  // 手动强制废除 对象 
        }

        /*
        早绑定和晚绑定 
        晚绑定（late binding）指的是编译器或解释程序在运行前，不知道对象的类型。使用晚绑定，
        无需检查对象的类型，只需检查对象是否支持属性和方法即可。
        ECMAScript 中的所有变量都采用晚绑定方法。这样就允许执行大量的对象操作，而无任何惩罚。
        */
        function testEarlyBind(){

        }


    </script>
</head>
<body>
    <button onclick="testToBoolean()">测试ToBoolean</button>
</body>
</html>